<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TinyXML-2: tinyxml2::XMLDocument Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">TinyXML-2<span id="projectnumber">&#160;10.0.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>tinyxml2</b></li><li class="navelem"><a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classtinyxml2_1_1_x_m_l_document-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">tinyxml2::XMLDocument Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="tinyxml2_8h_source.html">tinyxml2.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for tinyxml2::XMLDocument:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classtinyxml2_1_1_x_m_l_document.png" usemap="#tinyxml2::XMLDocument_map" alt=""/>
  <map id="tinyxml2::XMLDocument_map" name="tinyxml2::XMLDocument_map">
<area href="classtinyxml2_1_1_x_m_l_node.html" alt="tinyxml2::XMLNode" shape="rect" coords="0,0,146,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a57ddf17b6e054dda10af98991b1b8f70" id="r_a57ddf17b6e054dda10af98991b1b8f70"><td class="memItemLeft" align="right" valign="top"><a id="a57ddf17b6e054dda10af98991b1b8f70" name="a57ddf17b6e054dda10af98991b1b8f70"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>XMLDocument</b> (bool processEntities=true, Whitespace whitespaceMode=PRESERVE_WHITESPACE)</td></tr>
<tr class="memdesc:a57ddf17b6e054dda10af98991b1b8f70"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor <br /></td></tr>
<tr class="separator:a57ddf17b6e054dda10af98991b1b8f70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a290ad241e05e6aeeccbc78a4f3454f55" id="r_a290ad241e05e6aeeccbc78a4f3454f55"><td class="memItemLeft" align="right" valign="top"><a id="a290ad241e05e6aeeccbc78a4f3454f55" name="a290ad241e05e6aeeccbc78a4f3454f55"></a>
virtual <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>ToDocument</b> () override</td></tr>
<tr class="memdesc:a290ad241e05e6aeeccbc78a4f3454f55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Safely cast to a Document, or null. <br /></td></tr>
<tr class="separator:a290ad241e05e6aeeccbc78a4f3454f55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2b616169e6517182f6725f2498e9a01" id="r_af2b616169e6517182f6725f2498e9a01"><td class="memItemLeft" align="right" valign="top">XMLError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af2b616169e6517182f6725f2498e9a01">Parse</a> (const char *xml, size_t nBytes=static_cast&lt; size_t &gt;(-1))</td></tr>
<tr class="separator:af2b616169e6517182f6725f2498e9a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ebd4647a8af5fc6831b294ac26a150a" id="r_a2ebd4647a8af5fc6831b294ac26a150a"><td class="memItemLeft" align="right" valign="top">XMLError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2ebd4647a8af5fc6831b294ac26a150a">LoadFile</a> (const char *filename)</td></tr>
<tr class="separator:a2ebd4647a8af5fc6831b294ac26a150a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f1d330fad44c52f3d265338dd2a6dc2" id="r_a5f1d330fad44c52f3d265338dd2a6dc2"><td class="memItemLeft" align="right" valign="top">XMLError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5f1d330fad44c52f3d265338dd2a6dc2">LoadFile</a> (FILE *)</td></tr>
<tr class="separator:a5f1d330fad44c52f3d265338dd2a6dc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73ac416b4a2aa0952e841220eb3da18f" id="r_a73ac416b4a2aa0952e841220eb3da18f"><td class="memItemLeft" align="right" valign="top">XMLError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a73ac416b4a2aa0952e841220eb3da18f">SaveFile</a> (const char *filename, bool compact=false)</td></tr>
<tr class="separator:a73ac416b4a2aa0952e841220eb3da18f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b95779479a0035acc67b3a61dfe1b74" id="r_a8b95779479a0035acc67b3a61dfe1b74"><td class="memItemLeft" align="right" valign="top">XMLError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8b95779479a0035acc67b3a61dfe1b74">SaveFile</a> (FILE *fp, bool compact=false)</td></tr>
<tr class="separator:a8b95779479a0035acc67b3a61dfe1b74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33fc5d159db873a179fa26338adb05bd" id="r_a33fc5d159db873a179fa26338adb05bd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a33fc5d159db873a179fa26338adb05bd">HasBOM</a> () const</td></tr>
<tr class="separator:a33fc5d159db873a179fa26338adb05bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14419b698f7c4b140df4e80f3f0c93b0" id="r_a14419b698f7c4b140df4e80f3f0c93b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a14419b698f7c4b140df4e80f3f0c93b0">SetBOM</a> (bool useBOM)</td></tr>
<tr class="separator:a14419b698f7c4b140df4e80f3f0c93b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e6855771cbe87d839fb301d3646f5b8" id="r_a0e6855771cbe87d839fb301d3646f5b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0e6855771cbe87d839fb301d3646f5b8">RootElement</a> ()</td></tr>
<tr class="separator:a0e6855771cbe87d839fb301d3646f5b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a867cf5fa3e3ff6ae4847a8b7ee8ec083" id="r_a867cf5fa3e3ff6ae4847a8b7ee8ec083"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a867cf5fa3e3ff6ae4847a8b7ee8ec083">Print</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_printer.html">XMLPrinter</a> *streamer=0) const</td></tr>
<tr class="separator:a867cf5fa3e3ff6ae4847a8b7ee8ec083"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a853f05e2f7f51eb598e32ec61d8bc53c" id="r_a853f05e2f7f51eb598e32ec61d8bc53c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a853f05e2f7f51eb598e32ec61d8bc53c">Accept</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_visitor.html">XMLVisitor</a> *visitor) const override</td></tr>
<tr class="separator:a853f05e2f7f51eb598e32ec61d8bc53c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c335a700a43d7c363a393142a23f234" id="r_a3c335a700a43d7c363a393142a23f234"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3c335a700a43d7c363a393142a23f234">NewElement</a> (const char *name)</td></tr>
<tr class="separator:a3c335a700a43d7c363a393142a23f234"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a386df0befd06aadb5e0cd21381aa955a" id="r_a386df0befd06aadb5e0cd21381aa955a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_comment.html">XMLComment</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a386df0befd06aadb5e0cd21381aa955a">NewComment</a> (const char *comment)</td></tr>
<tr class="separator:a386df0befd06aadb5e0cd21381aa955a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acece5de77a0819f2341b08c1e1ed9987" id="r_acece5de77a0819f2341b08c1e1ed9987"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_text.html">XMLText</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acece5de77a0819f2341b08c1e1ed9987">NewText</a> (const char *text)</td></tr>
<tr class="separator:acece5de77a0819f2341b08c1e1ed9987"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae519030c0262fa2daff8993681990e16" id="r_ae519030c0262fa2daff8993681990e16"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_declaration.html">XMLDeclaration</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae519030c0262fa2daff8993681990e16">NewDeclaration</a> (const char *text=0)</td></tr>
<tr class="separator:ae519030c0262fa2daff8993681990e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4954f502c5fd7f49de54c3c0c99bb73d" id="r_a4954f502c5fd7f49de54c3c0c99bb73d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_unknown.html">XMLUnknown</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4954f502c5fd7f49de54c3c0c99bb73d">NewUnknown</a> (const char *text)</td></tr>
<tr class="separator:a4954f502c5fd7f49de54c3c0c99bb73d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1d6e2c7fcc1a660624ac4f68e96380d" id="r_ac1d6e2c7fcc1a660624ac4f68e96380d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac1d6e2c7fcc1a660624ac4f68e96380d">DeleteNode</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *node)</td></tr>
<tr class="separator:ac1d6e2c7fcc1a660624ac4f68e96380d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4085d9c52f1d93214311459d6d1fcf17" id="r_a4085d9c52f1d93214311459d6d1fcf17"><td class="memItemLeft" align="right" valign="top"><a id="a4085d9c52f1d93214311459d6d1fcf17" name="a4085d9c52f1d93214311459d6d1fcf17"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearError</b> ()</td></tr>
<tr class="memdesc:a4085d9c52f1d93214311459d6d1fcf17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the error flags. <br /></td></tr>
<tr class="separator:a4085d9c52f1d93214311459d6d1fcf17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34e6318e182e40e3cc4f4ba5d59ed9ed" id="r_a34e6318e182e40e3cc4f4ba5d59ed9ed"><td class="memItemLeft" align="right" valign="top"><a id="a34e6318e182e40e3cc4f4ba5d59ed9ed" name="a34e6318e182e40e3cc4f4ba5d59ed9ed"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Error</b> () const</td></tr>
<tr class="memdesc:a34e6318e182e40e3cc4f4ba5d59ed9ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if there was an error parsing the document. <br /></td></tr>
<tr class="separator:a34e6318e182e40e3cc4f4ba5d59ed9ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa3ed33b3107f920ec2b301f805ac17d" id="r_afa3ed33b3107f920ec2b301f805ac17d"><td class="memItemLeft" align="right" valign="top"><a id="afa3ed33b3107f920ec2b301f805ac17d" name="afa3ed33b3107f920ec2b301f805ac17d"></a>
XMLError&#160;</td><td class="memItemRight" valign="bottom"><b>ErrorID</b> () const</td></tr>
<tr class="memdesc:afa3ed33b3107f920ec2b301f805ac17d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the errorID. <br /></td></tr>
<tr class="separator:afa3ed33b3107f920ec2b301f805ac17d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae97fff2402a0d01e0509c430b37996b3" id="r_ae97fff2402a0d01e0509c430b37996b3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae97fff2402a0d01e0509c430b37996b3">ErrorStr</a> () const</td></tr>
<tr class="separator:ae97fff2402a0d01e0509c430b37996b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d033945b42e125d933d6231e4571552" id="r_a1d033945b42e125d933d6231e4571552"><td class="memItemLeft" align="right" valign="top"><a id="a1d033945b42e125d933d6231e4571552" name="a1d033945b42e125d933d6231e4571552"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>PrintError</b> () const</td></tr>
<tr class="memdesc:a1d033945b42e125d933d6231e4571552"><td class="mdescLeft">&#160;</td><td class="mdescRight">A (trivial) utility function that prints the <a class="el" href="#ae97fff2402a0d01e0509c430b37996b3">ErrorStr()</a> to stdout. <br /></td></tr>
<tr class="separator:a1d033945b42e125d933d6231e4571552"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57400f816dbe7799ece33615ead9ab76" id="r_a57400f816dbe7799ece33615ead9ab76"><td class="memItemLeft" align="right" valign="top"><a id="a57400f816dbe7799ece33615ead9ab76" name="a57400f816dbe7799ece33615ead9ab76"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>ErrorLineNum</b> () const</td></tr>
<tr class="memdesc:a57400f816dbe7799ece33615ead9ab76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the line where the error occurred, or zero if unknown. <br /></td></tr>
<tr class="separator:a57400f816dbe7799ece33615ead9ab76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65656b0b2cbc822708eb351504178aaf" id="r_a65656b0b2cbc822708eb351504178aaf"><td class="memItemLeft" align="right" valign="top"><a id="a65656b0b2cbc822708eb351504178aaf" name="a65656b0b2cbc822708eb351504178aaf"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Clear</b> ()</td></tr>
<tr class="memdesc:a65656b0b2cbc822708eb351504178aaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the document, resetting it to the initial state. <br /></td></tr>
<tr class="separator:a65656b0b2cbc822708eb351504178aaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af592ffc91514e25a39664521ac83db45" id="r_af592ffc91514e25a39664521ac83db45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af592ffc91514e25a39664521ac83db45">DeepCopy</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *target) const</td></tr>
<tr class="separator:af592ffc91514e25a39664521ac83db45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01ab2fc16fbce5f4456d67d24090e70b" id="r_a01ab2fc16fbce5f4456d67d24090e70b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a01ab2fc16fbce5f4456d67d24090e70b">ShallowClone</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *) const override</td></tr>
<tr class="separator:a01ab2fc16fbce5f4456d67d24090e70b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac538345c44f521e418ff86b4bdc20ca8" id="r_ac538345c44f521e418ff86b4bdc20ca8"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac538345c44f521e418ff86b4bdc20ca8">ShallowEqual</a> (const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *) const override</td></tr>
<tr class="separator:ac538345c44f521e418ff86b4bdc20ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classtinyxml2_1_1_x_m_l_node"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classtinyxml2_1_1_x_m_l_node')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">tinyxml2::XMLNode</a></td></tr>
<tr class="memitem:a6ce3bbe80357f5a4dc5db31a66f2bb18 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a6ce3bbe80357f5a4dc5db31a66f2bb18"><td class="memItemLeft" align="right" valign="top">
const <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetDocument</b> () const</td></tr>
<tr class="memdesc:a6ce3bbe80357f5a4dc5db31a66f2bb18 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> that owns this <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a>. <br /></td></tr>
<tr class="separator:a6ce3bbe80357f5a4dc5db31a66f2bb18 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48d1695f7c834129e072548957a50501 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a48d1695f7c834129e072548957a50501"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetDocument</b> ()</td></tr>
<tr class="memdesc:a48d1695f7c834129e072548957a50501 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> that owns this <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a>. <br /></td></tr>
<tr class="separator:a48d1695f7c834129e072548957a50501 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9417e1f8a9787ae27741605493514b18 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a9417e1f8a9787ae27741605493514b18"><td class="memItemLeft" align="right" valign="top">
virtual <a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>ToElement</b> ()</td></tr>
<tr class="memdesc:a9417e1f8a9787ae27741605493514b18 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Safely cast to an Element, or null. <br /></td></tr>
<tr class="separator:a9417e1f8a9787ae27741605493514b18 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aea8c9c5853c35a06da1988486abc60 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a0aea8c9c5853c35a06da1988486abc60"><td class="memItemLeft" align="right" valign="top">
virtual <a class="el" href="classtinyxml2_1_1_x_m_l_text.html">XMLText</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>ToText</b> ()</td></tr>
<tr class="memdesc:a0aea8c9c5853c35a06da1988486abc60 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Safely cast to Text, or null. <br /></td></tr>
<tr class="separator:a0aea8c9c5853c35a06da1988486abc60 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dc13f02ae49e3fa609e426f47c8466d inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a5dc13f02ae49e3fa609e426f47c8466d"><td class="memItemLeft" align="right" valign="top">
virtual <a class="el" href="classtinyxml2_1_1_x_m_l_comment.html">XMLComment</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>ToComment</b> ()</td></tr>
<tr class="memdesc:a5dc13f02ae49e3fa609e426f47c8466d inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Safely cast to a Comment, or null. <br /></td></tr>
<tr class="separator:a5dc13f02ae49e3fa609e426f47c8466d inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12aa783a3a4445ad5557c7d56cd8dc4a inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a12aa783a3a4445ad5557c7d56cd8dc4a"><td class="memItemLeft" align="right" valign="top">
virtual <a class="el" href="classtinyxml2_1_1_x_m_l_declaration.html">XMLDeclaration</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>ToDeclaration</b> ()</td></tr>
<tr class="memdesc:a12aa783a3a4445ad5557c7d56cd8dc4a inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Safely cast to a Declaration, or null. <br /></td></tr>
<tr class="separator:a12aa783a3a4445ad5557c7d56cd8dc4a inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8a2dd38b786c3b8d406c2047753cbfd inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_aa8a2dd38b786c3b8d406c2047753cbfd"><td class="memItemLeft" align="right" valign="top">
virtual <a class="el" href="classtinyxml2_1_1_x_m_l_unknown.html">XMLUnknown</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>ToUnknown</b> ()</td></tr>
<tr class="memdesc:aa8a2dd38b786c3b8d406c2047753cbfd inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Safely cast to an Unknown, or null. <br /></td></tr>
<tr class="separator:aa8a2dd38b786c3b8d406c2047753cbfd inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0485e51c670e741884cfd8362274d680 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a0485e51c670e741884cfd8362274d680"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a0485e51c670e741884cfd8362274d680">Value</a> () const</td></tr>
<tr class="separator:a0485e51c670e741884cfd8362274d680 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09dd68cf9eae137579f6e50f36487513 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a09dd68cf9eae137579f6e50f36487513"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a09dd68cf9eae137579f6e50f36487513">SetValue</a> (const char *val, bool staticMem=false)</td></tr>
<tr class="separator:a09dd68cf9eae137579f6e50f36487513 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b5fc636646fda761d342c72e91cb286 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a9b5fc636646fda761d342c72e91cb286"><td class="memItemLeft" align="right" valign="top">
int&#160;</td><td class="memItemRight" valign="bottom"><b>GetLineNum</b> () const</td></tr>
<tr class="memdesc:a9b5fc636646fda761d342c72e91cb286 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the line number the node is in, if the document was parsed from a file. <br /></td></tr>
<tr class="separator:a9b5fc636646fda761d342c72e91cb286 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d76b30d1bf4b166d3e4fa3419d51595 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a4d76b30d1bf4b166d3e4fa3419d51595"><td class="memItemLeft" align="right" valign="top">
const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>Parent</b> () const</td></tr>
<tr class="memdesc:a4d76b30d1bf4b166d3e4fa3419d51595 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the parent of this node on the DOM. <br /></td></tr>
<tr class="separator:a4d76b30d1bf4b166d3e4fa3419d51595 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3ab489e6e202a3cd1762d3b332e89d4 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_ac3ab489e6e202a3cd1762d3b332e89d4"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>NoChildren</b> () const</td></tr>
<tr class="memdesc:ac3ab489e6e202a3cd1762d3b332e89d4 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if this node has no children. <br /></td></tr>
<tr class="separator:ac3ab489e6e202a3cd1762d3b332e89d4 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcc2e572dce329539689b426a0840661 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_abcc2e572dce329539689b426a0840661"><td class="memItemLeft" align="right" valign="top">
const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>FirstChild</b> () const</td></tr>
<tr class="memdesc:abcc2e572dce329539689b426a0840661 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the first child node, or null if none exists. <br /></td></tr>
<tr class="separator:abcc2e572dce329539689b426a0840661 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bec132dcf085284e0a10755f2cf0d57 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a1bec132dcf085284e0a10755f2cf0d57"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a1bec132dcf085284e0a10755f2cf0d57">FirstChildElement</a> (const char *name=0) const</td></tr>
<tr class="separator:a1bec132dcf085284e0a10755f2cf0d57 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69a29bb8263ff5e9815be180bf27e7af inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a69a29bb8263ff5e9815be180bf27e7af"><td class="memItemLeft" align="right" valign="top">
const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>LastChild</b> () const</td></tr>
<tr class="memdesc:a69a29bb8263ff5e9815be180bf27e7af inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the last child node, or null if none exists. <br /></td></tr>
<tr class="separator:a69a29bb8263ff5e9815be180bf27e7af inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a609e02f02044f39b928d1a3e0de9f532 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a609e02f02044f39b928d1a3e0de9f532"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a609e02f02044f39b928d1a3e0de9f532">LastChildElement</a> (const char *name=0) const</td></tr>
<tr class="separator:a609e02f02044f39b928d1a3e0de9f532 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92ee96b0d8628bc609f1d34e56d69dfa inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a92ee96b0d8628bc609f1d34e56d69dfa"><td class="memItemLeft" align="right" valign="top">
const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>PreviousSibling</b> () const</td></tr>
<tr class="memdesc:a92ee96b0d8628bc609f1d34e56d69dfa inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the previous (left) sibling node of this node. <br /></td></tr>
<tr class="separator:a92ee96b0d8628bc609f1d34e56d69dfa inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9453cda5e970375a7b1b2099f8a7c40a inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a9453cda5e970375a7b1b2099f8a7c40a"><td class="memItemLeft" align="right" valign="top">
const <a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>PreviousSiblingElement</b> (const char *name=0) const</td></tr>
<tr class="memdesc:a9453cda5e970375a7b1b2099f8a7c40a inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the previous (left) sibling element of this node, with an optionally supplied name. <br /></td></tr>
<tr class="separator:a9453cda5e970375a7b1b2099f8a7c40a inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af986c568061b020cf6232bec091388c0 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_af986c568061b020cf6232bec091388c0"><td class="memItemLeft" align="right" valign="top">
const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>NextSibling</b> () const</td></tr>
<tr class="memdesc:af986c568061b020cf6232bec091388c0 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next (right) sibling node of this node. <br /></td></tr>
<tr class="separator:af986c568061b020cf6232bec091388c0 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14ea560df31110ff07a9f566171bf797 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a14ea560df31110ff07a9f566171bf797"><td class="memItemLeft" align="right" valign="top">
const <a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>NextSiblingElement</b> (const char *name=0) const</td></tr>
<tr class="memdesc:a14ea560df31110ff07a9f566171bf797 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next (right) sibling element of this node, with an optionally supplied name. <br /></td></tr>
<tr class="separator:a14ea560df31110ff07a9f566171bf797 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3b422e98914d6002ca99bb1d2837103 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_ae3b422e98914d6002ca99bb1d2837103"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#ae3b422e98914d6002ca99bb1d2837103">InsertEndChild</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *addThis)</td></tr>
<tr class="separator:ae3b422e98914d6002ca99bb1d2837103 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac609a8f3ea949027f439280c640bbaf2 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_ac609a8f3ea949027f439280c640bbaf2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#ac609a8f3ea949027f439280c640bbaf2">InsertFirstChild</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *addThis)</td></tr>
<tr class="separator:ac609a8f3ea949027f439280c640bbaf2 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9275138a1b8dd5d8e2c26789bdc23ac8 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a9275138a1b8dd5d8e2c26789bdc23ac8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a9275138a1b8dd5d8e2c26789bdc23ac8">InsertAfterChild</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *afterThis, <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *addThis)</td></tr>
<tr class="separator:a9275138a1b8dd5d8e2c26789bdc23ac8 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0360085cc54df5bff85d5c5da13afdce inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a0360085cc54df5bff85d5c5da13afdce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a0360085cc54df5bff85d5c5da13afdce">DeleteChildren</a> ()</td></tr>
<tr class="separator:a0360085cc54df5bff85d5c5da13afdce inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a363b6edbd6ebd55f8387d2b89f2b0921 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a363b6edbd6ebd55f8387d2b89f2b0921"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a363b6edbd6ebd55f8387d2b89f2b0921">DeleteChild</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *node)</td></tr>
<tr class="separator:a363b6edbd6ebd55f8387d2b89f2b0921 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bb369fd733f1989b751d99a9417adab inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a3bb369fd733f1989b751d99a9417adab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a3bb369fd733f1989b751d99a9417adab">DeepClone</a> (<a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *target) const</td></tr>
<tr class="separator:a3bb369fd733f1989b751d99a9417adab inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a002978fc889cc011d143185f2377eca2 inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a002978fc889cc011d143185f2377eca2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a002978fc889cc011d143185f2377eca2">SetUserData</a> (void *userData)</td></tr>
<tr class="separator:a002978fc889cc011d143185f2377eca2 inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18cc02ebd0b06f6bf5db7ef87653e00e inherit pub_methods_classtinyxml2_1_1_x_m_l_node" id="r_a18cc02ebd0b06f6bf5db7ef87653e00e"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a18cc02ebd0b06f6bf5db7ef87653e00e">GetUserData</a> () const</td></tr>
<tr class="separator:a18cc02ebd0b06f6bf5db7ef87653e00e inherit pub_methods_classtinyxml2_1_1_x_m_l_node"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A Document binds together all the functionality. It can be saved, loaded, and printed to the screen. All Nodes are connected and allocated to a Document. If the Document is deleted, all its Nodes are also deleted. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a853f05e2f7f51eb598e32ec61d8bc53c" name="a853f05e2f7f51eb598e32ec61d8bc53c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a853f05e2f7f51eb598e32ec61d8bc53c">&#9670;&#160;</a></span>Accept()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool tinyxml2::XMLDocument::Accept </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classtinyxml2_1_1_x_m_l_visitor.html">XMLVisitor</a> *</td>          <td class="paramname"><span class="paramname"><em>visitor</em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Accept a hierarchical visit of the nodes in the TinyXML-2 DOM. Every node in the XML tree will be conditionally visited and the host will be called back via the <a class="el" href="classtinyxml2_1_1_x_m_l_visitor.html">XMLVisitor</a> interface.</p>
<p>This is essentially a SAX interface for TinyXML-2. (Note however it doesn't re-parse the XML for the callbacks, so the performance of TinyXML-2 is unchanged by using this interface versus any other.)</p>
<p>The interface has been based on ideas from:</p>
<ul>
<li><a href="http://www.saxproject.org/">http://www.saxproject.org/</a></li>
<li><a href="http://c2.com/cgi/wiki?HierarchicalVisitorPattern">http://c2.com/cgi/wiki?HierarchicalVisitorPattern</a></li>
</ul>
<p>Which are both good references for "visiting".</p>
<p>An example of using <a class="el" href="#a853f05e2f7f51eb598e32ec61d8bc53c">Accept()</a>: </p><pre class="fragment">XMLPrinter printer;
tinyxmlDoc.Accept( &amp;printer );
const char* xmlcstr = printer.CStr();
</pre> 
<p>Implements <a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a81e66df0a44c67a7af17f3b77a152785">tinyxml2::XMLNode</a>.</p>

</div>
</div>
<a id="af592ffc91514e25a39664521ac83db45" name="af592ffc91514e25a39664521ac83db45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af592ffc91514e25a39664521ac83db45">&#9670;&#160;</a></span>DeepCopy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tinyxml2::XMLDocument::DeepCopy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *</td>          <td class="paramname"><span class="paramname"><em>target</em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Copies this document to a target document. The target will be completely cleared before the copy. If you want to copy a sub-tree, see <a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a3bb369fd733f1989b751d99a9417adab">XMLNode::DeepClone()</a>.</p>
<p>NOTE: that the 'target' must be non-null. </p>

</div>
</div>
<a id="ac1d6e2c7fcc1a660624ac4f68e96380d" name="ac1d6e2c7fcc1a660624ac4f68e96380d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1d6e2c7fcc1a660624ac4f68e96380d">&#9670;&#160;</a></span>DeleteNode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tinyxml2::XMLDocument::DeleteNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *</td>          <td class="paramname"><span class="paramname"><em>node</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Delete a node associated with this document. It will be unlinked from the DOM. </p>

</div>
</div>
<a id="ae97fff2402a0d01e0509c430b37996b3" name="ae97fff2402a0d01e0509c430b37996b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae97fff2402a0d01e0509c430b37996b3">&#9670;&#160;</a></span>ErrorStr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * tinyxml2::XMLDocument::ErrorStr </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns a "long form" error description. A hopefully helpful diagnostic with location, line number, and/or additional info. </p>

</div>
</div>
<a id="a33fc5d159db873a179fa26338adb05bd" name="a33fc5d159db873a179fa26338adb05bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33fc5d159db873a179fa26338adb05bd">&#9670;&#160;</a></span>HasBOM()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool tinyxml2::XMLDocument::HasBOM </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns true if this document has a leading Byte Order Mark of UTF8. </p>

</div>
</div>
<a id="a2ebd4647a8af5fc6831b294ac26a150a" name="a2ebd4647a8af5fc6831b294ac26a150a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ebd4647a8af5fc6831b294ac26a150a">&#9670;&#160;</a></span>LoadFile() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XMLError tinyxml2::XMLDocument::LoadFile </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>filename</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Load an XML file from disk. Returns XML_SUCCESS (0) on success, or an errorID. </p>

</div>
</div>
<a id="a5f1d330fad44c52f3d265338dd2a6dc2" name="a5f1d330fad44c52f3d265338dd2a6dc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f1d330fad44c52f3d265338dd2a6dc2">&#9670;&#160;</a></span>LoadFile() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XMLError tinyxml2::XMLDocument::LoadFile </td>
          <td>(</td>
          <td class="paramtype">FILE *</td>          <td class="paramname"><span class="paramname"></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Load an XML file from disk. You are responsible for providing and closing the FILE*.</p>
<p>NOTE: The file should be opened as binary ("rb") not text in order for TinyXML-2 to correctly do newline normalization.</p>
<p>Returns XML_SUCCESS (0) on success, or an errorID. </p>

</div>
</div>
<a id="a386df0befd06aadb5e0cd21381aa955a" name="a386df0befd06aadb5e0cd21381aa955a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a386df0befd06aadb5e0cd21381aa955a">&#9670;&#160;</a></span>NewComment()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classtinyxml2_1_1_x_m_l_comment.html">XMLComment</a> * tinyxml2::XMLDocument::NewComment </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>comment</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create a new Comment associated with this Document. The memory for the Comment is managed by the Document. </p>

</div>
</div>
<a id="ae519030c0262fa2daff8993681990e16" name="ae519030c0262fa2daff8993681990e16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae519030c0262fa2daff8993681990e16">&#9670;&#160;</a></span>NewDeclaration()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classtinyxml2_1_1_x_m_l_declaration.html">XMLDeclaration</a> * tinyxml2::XMLDocument::NewDeclaration </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>text</em><span class="paramdefsep"> = </span><span class="paramdefval">0</span></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create a new Declaration associated with this Document. The memory for the object is managed by the Document.</p>
<p>If the 'text' param is null, the standard declaration is used.: </p><pre class="fragment">    &lt;?xml version="1.0" encoding="UTF-8"?&gt;
</pre> 
</div>
</div>
<a id="a3c335a700a43d7c363a393142a23f234" name="a3c335a700a43d7c363a393142a23f234"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c335a700a43d7c363a393142a23f234">&#9670;&#160;</a></span>NewElement()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> * tinyxml2::XMLDocument::NewElement </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>name</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create a new Element associated with this Document. The memory for the Element is managed by the Document. </p>

</div>
</div>
<a id="acece5de77a0819f2341b08c1e1ed9987" name="acece5de77a0819f2341b08c1e1ed9987"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acece5de77a0819f2341b08c1e1ed9987">&#9670;&#160;</a></span>NewText()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classtinyxml2_1_1_x_m_l_text.html">XMLText</a> * tinyxml2::XMLDocument::NewText </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>text</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create a new Text associated with this Document. The memory for the Text is managed by the Document. </p>

</div>
</div>
<a id="a4954f502c5fd7f49de54c3c0c99bb73d" name="a4954f502c5fd7f49de54c3c0c99bb73d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4954f502c5fd7f49de54c3c0c99bb73d">&#9670;&#160;</a></span>NewUnknown()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classtinyxml2_1_1_x_m_l_unknown.html">XMLUnknown</a> * tinyxml2::XMLDocument::NewUnknown </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>text</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create a new Unknown associated with this Document. The memory for the object is managed by the Document. </p>

</div>
</div>
<a id="af2b616169e6517182f6725f2498e9a01" name="af2b616169e6517182f6725f2498e9a01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2b616169e6517182f6725f2498e9a01">&#9670;&#160;</a></span>Parse()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XMLError tinyxml2::XMLDocument::Parse </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>xml</em>, </span></td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nBytes</em><span class="paramdefsep"> = </span><span class="paramdefval">static_cast&lt;&#160;size_t&#160;&gt;(-1)</span></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parse an XML file from a character string. Returns XML_SUCCESS (0) on success, or an errorID.</p>
<p>You may optionally pass in the 'nBytes', which is the number of bytes which will be parsed. If not specified, TinyXML-2 will assume 'xml' points to a null terminated string. </p>

</div>
</div>
<a id="a867cf5fa3e3ff6ae4847a8b7ee8ec083" name="a867cf5fa3e3ff6ae4847a8b7ee8ec083"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a867cf5fa3e3ff6ae4847a8b7ee8ec083">&#9670;&#160;</a></span>Print()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tinyxml2::XMLDocument::Print </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classtinyxml2_1_1_x_m_l_printer.html">XMLPrinter</a> *</td>          <td class="paramname"><span class="paramname"><em>streamer</em><span class="paramdefsep"> = </span><span class="paramdefval">0</span></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Print the Document. If the Printer is not provided, it will print to stdout. If you provide Printer, this can print to a file: </p><pre class="fragment">XMLPrinter printer( fp );
doc.Print( &amp;printer );
</pre><p>Or you can use a printer to print to memory: </p><pre class="fragment">XMLPrinter printer;
doc.Print( &amp;printer );
// printer.CStr() has a const char* to the XML
</pre> 
</div>
</div>
<a id="a0e6855771cbe87d839fb301d3646f5b8" name="a0e6855771cbe87d839fb301d3646f5b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e6855771cbe87d839fb301d3646f5b8">&#9670;&#160;</a></span>RootElement()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classtinyxml2_1_1_x_m_l_element.html">XMLElement</a> * tinyxml2::XMLDocument::RootElement </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Return the root element of DOM. Equivalent to <a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a1bec132dcf085284e0a10755f2cf0d57">FirstChildElement()</a>. To get the first node, use FirstChild(). </p>

</div>
</div>
<a id="a73ac416b4a2aa0952e841220eb3da18f" name="a73ac416b4a2aa0952e841220eb3da18f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73ac416b4a2aa0952e841220eb3da18f">&#9670;&#160;</a></span>SaveFile() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XMLError tinyxml2::XMLDocument::SaveFile </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>filename</em>, </span></td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>compact</em><span class="paramdefsep"> = </span><span class="paramdefval">false</span></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Save the XML file to disk. Returns XML_SUCCESS (0) on success, or an errorID. </p>

</div>
</div>
<a id="a8b95779479a0035acc67b3a61dfe1b74" name="a8b95779479a0035acc67b3a61dfe1b74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b95779479a0035acc67b3a61dfe1b74">&#9670;&#160;</a></span>SaveFile() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XMLError tinyxml2::XMLDocument::SaveFile </td>
          <td>(</td>
          <td class="paramtype">FILE *</td>          <td class="paramname"><span class="paramname"><em>fp</em>, </span></td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>compact</em><span class="paramdefsep"> = </span><span class="paramdefval">false</span></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Save the XML file to disk. You are responsible for providing and closing the FILE*.</p>
<p>Returns XML_SUCCESS (0) on success, or an errorID. </p>

</div>
</div>
<a id="a14419b698f7c4b140df4e80f3f0c93b0" name="a14419b698f7c4b140df4e80f3f0c93b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14419b698f7c4b140df4e80f3f0c93b0">&#9670;&#160;</a></span>SetBOM()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void tinyxml2::XMLDocument::SetBOM </td>
          <td>(</td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>useBOM</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets whether to write the BOM when writing the file. </p>

</div>
</div>
<a id="a01ab2fc16fbce5f4456d67d24090e70b" name="a01ab2fc16fbce5f4456d67d24090e70b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01ab2fc16fbce5f4456d67d24090e70b">&#9670;&#160;</a></span>ShallowClone()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> * tinyxml2::XMLDocument::ShallowClone </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a> *</td>          <td class="paramname"><span class="paramname"><em>document</em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Make a copy of this node, but not its children. You may pass in a Document pointer that will be the owner of the new Node. If the 'document' is null, then the node returned will be allocated from the current Document. (this-&gt;<a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a48d1695f7c834129e072548957a50501" title="Get the XMLDocument that owns this XMLNode.">GetDocument()</a>)</p>
<p>Note: if called on a <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a>, this will return null. </p>

<p>Implements <a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a9046880c05b81ad99ee645f4b2a53ecd">tinyxml2::XMLNode</a>.</p>

</div>
</div>
<a id="ac538345c44f521e418ff86b4bdc20ca8" name="ac538345c44f521e418ff86b4bdc20ca8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac538345c44f521e418ff86b4bdc20ca8">&#9670;&#160;</a></span>ShallowEqual()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool tinyxml2::XMLDocument::ShallowEqual </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classtinyxml2_1_1_x_m_l_node.html">XMLNode</a> *</td>          <td class="paramname"><span class="paramname"><em>compare</em></span></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Test if 2 nodes are the same, but don't test children. The 2 nodes do not need to be in the same Document.</p>
<p>Note: if called on a <a class="el" href="classtinyxml2_1_1_x_m_l_document.html">XMLDocument</a>, this will return false. </p>

<p>Implements <a class="el" href="classtinyxml2_1_1_x_m_l_node.html#a7ce18b751c3ea09eac292dca264f9226">tinyxml2::XMLNode</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="tinyxml2_8h_source.html">tinyxml2.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Dec 30 2023 18:02:35 for TinyXML-2 by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0
</small></address>
</body>
</html>
